OLD GIT - https://git.gosuslugi.local/ervu/source/mz-xsd-storage/-/tree/master/mnsv-ervu-driving-registration-vehicle

GIT (вынесено в отдельный репозиторий в рамках Невозможно найти сервер Jira для этого макроса. Причиной может быть конфигурация ссылки на приложение. ) - https://git.gosuslugi.local/ervu/source/mz-mnsv-ervu-driving-registration-vehicle

Описание

Сервис для работы с ВС "ЕРВУ_Передача сведений об ограничении на пользование гражданином правом на управление ТС и запрете на государственную регистрацию ТС" для ФОИВ МВД (urn://rostelekom.ru/ERVU-DrivingRegistrationVehicleForbiddenTemporary/1.0.3). Принимает JSON из процессов, преобразует в XML и направляет в кафку для передачи в сервис mz-adapter и последующей отправки в ФОИВ через СМЭВ.

Сервис вынесен в отдельный репозиторий с использованием библиотеки mzServiceCore

Назначение

Сервис реализует передачу данных о введении или отмене двух мер:

  • Запрет на государственную регистрацию транспортных средств
  • Ограничение на пользование гражданином правом на управление транспортными средствами

Так же данный вид сведений подразумевает направление уведомления о введении временной меры "Запрет на выезд" (ФОИВ ФСБ)

JSON передаётся из процессов, преобразуется в XML сообщение по формату ВС https://lkuv.gosuslugi.ru/paip-portal/#/inquiries/card/a5c68b25-50a9-49ca-bc06-be8cf40a6eeb

На текущий момент работает с версией ВС 1.0.3


Схема взаимодействия ФОИВ ФСБ по части введения и отмены временных мер

mz-mnsv-ervu-driving-registration-vehicle
ЕРВУ
Подтверждение отправки запроса
(SendRequestResponse)
СМЭВ3
Отправка сообщения ответа
(GetRequestResponse)
Проверка наличия сведений
(GetRequestRequest)
Подтверждение получения сообщения-ответа
(AckRequest)
Ответ о получении подтверждения
(AckResponse)
Отправка сообщения ответа
(GetRequestResponse)
Проверка наличия сведений
(GetRequestRequest)
Подтверждение получения сообщения-ответа
(AckRequest)
Ответ о получении подтверждения
(AckResponse)
Передача сообщения - подтверждения отмены временных мер
по ВС urn://rostelekom.ru/ERVU-MeasuresTemporaryConfirm/1.0.4
(SendRequestRequest) 
Подтверждение отправки запроса
(SendRequestResponse)
Подтверждение отправки ответа
(SendResponseResponse)
Отправка ответа
(SendResponseRequest)
Проверка на наличие сведений
(GetResponseRequest)
Подтверждение получения сообщения из очереди СМЭВ
(AckRequest)
МВД
Передача сведений о введении мер
(urn://rostelekom.ru/ERVU-DrivingRegistrationVehicleForbiddenTemporary/1.0.3)
measuresTemporary.status: true
(SendRequestRequest)
Проверка на наличие сведений
(GetRequestRequest)
Передача сведений
(GetRequestResponse)
Подтверждение получения сообщения из очереди СМЭВ
(AckRequest)
Ответ о получении подтверждения
(AckResponse)
Передача сообщения - подтверждения введения временных мер
по ВС urn://rostelekom.ru/ERVU-MeasuresTemporaryConfirm/1.0.4
(SendRequestRequest) 
Подтверждение отправки запроса
(SendRequestResponse)
Подтверждение отправки ответа
(SendResponseResponse)
Отправка ответа
(SendResponseRequest)
Передача сведений об отмене мер
(urn://rostelekom.ru/ERVU-DrivingRegistrationVehicleForbiddenTemporary/1.0.3)
measuresTemporary.status: false
(SendRequestRequest)
Подтверждение отправки запроса
(SendRequestResponse)
Проверка на наличие сведений
(GetResponseRequest)
Передача сведений
(GetResponseResponse)
Подтверждение получения сообщения из очереди СМЭВ
(AckRequest)
Ответ о получении подтверждения
(AckResponse)
Проверка на наличие сведений
(GetRequestRequest)
Передача сведений
(GetRequestResponse)
Подтверждение получения сообщения из очереди СМЭВ
(AckRequest)
Ответ о получении подтверждения
(AckResponse)
Ответ о получении подтверждения
(AckResponse)
Передача сведений
(GetResponseResponse)

Примеры запроса

Инициатором сеанса выступает система ЕРВУ, передавая сообщение о введении или отмене временных мер через вид сведений urn://rostelekom.ru/ERVU-DrivingRegistrationVehicleForbiddenTemporary (текущая версия 1.0.3). Сеанс работает в формате рассылка (Тип обмена - Целиковая маршрутизация рассылка), что подразумевает отсутствие ответа от получателя рассылки (ФОИВ МВД). Проверить состояние сообщения можно только через функционал "Судьба сообщения СМЭВ3". Подтверждение от ФОИВ приходит по отдельному виду сведений, работающему по формату "запрос - ответ" (см. Описание сервиса подтверждения мер)

Структура запроса

Поле в XMLНазначение поляФЛККол-во вхожденийКомментарий
Начало блока common - общая информация о гражданине
lastNameПередача фамилии гражданинаСтрока1..1
firstNameПередача имени гражданинаСтрока1..1
middleNameПередача отчества гражданинаСтрока0..1
birthDateДата рождения гражданинаДата в формате dd.mm.yyyy1..1
snilsПередача СНИЛС гражданинаСтрока1..1СНИЛС передаётся без пробелов/дефисов 
innПередача ИНН гражданина12 цифр0..1
idErnПередача ИД ЕРН гражданина12 цифр1..1
Конец блока common - общая информация о гражданине
Начало блока passport - сведения о ДУЛ гражданина
seriesСерия ДУЛ гражданина4 цифры1..1
numberНомер ДУЛ гражданина6 цифр1..1
issueDateДата выдачи ДУЛ гражданинаДата в формате dd.mm.yyyy1..1
Конец блока passport - сведения о ДУЛ гражданина
Начало блока measuresTemporary - сведения о временной мере
measureIdИдентификатор временной мерыСтрока1..1
statusСтатус меры (действует/отменена)boolean1..1
numberНомер решения о введении мерыСтрока1..1
dateДата решения о введении мерыДата в формате dd.mm.yyyy1..1
militaryCommissariatNameНаименование организации, принявшей решение о введении мерыСтрока0..1
militaryCommissariatAddressЮридический адрес организации, принявшей решение о введении мерыСтрока0..1
measureCodeКод временной мерыСправочник (список значений правее)1..1
  • 1 (Запрет на выезд из Российской Федерации)
  • 2 (Запрет на государственную регистрацию физических лиц в качестве индивидуальных предпринимателей)
  • 3 (Запрет на постановку на учет в налоговом органе физического лица в качестве налогоплательщика, применяющего специальный налоговый режим "Налог на профессиональный доход")
  • 4 (Приостановка на постановку недвижимого имущества на государственный кадастровый учет и (или) государственную регистрацию прав)
  • 5 (Ограничение на пользование гражданином правом на управление транспортными средствами)
  • 6 (Запрет на государственную регистрацию транспортных средств)
  • 7 (Отказ в заключении кредитного договора, договора займа)
measureNameТип временной мерыСтрока1..1
Начало блока additionalInfo - дополнительная информация
nameНаименование атрибутаСтрока1..1
valueЗначение атрибутаСтрока1..1
Конец блока additionalInfo - дополнительная информация
Начало блока attachmentDetails - сведения о вложениях
measuresTemporaryDocРешение о наложении временной мерыБлок1..NВнутри блока лежит тег name - имя файла документа. Передаётся строкой
sigОткрепленная усиленная квалифицированная электронная подписьБлок1..NВнутри блока лежит тег name - имя файла документа. Передаётся строкой
Конец блока attachmentDetails - сведения о вложениях

Конец блока measuresTemporary - сведения о временной мере

Для введения и отмены мер со стороны ЕРВУ отправляется запрос через ВС [urn://rostelekom.ru/ERVU-DrivingRegistrationVehicleForbiddenTemporary/1.0.3]

  1. Для введения меры в XML запроса поле status (полный путь measuresTemporaryData.measuresTemporary.status) принимает значение true
  2. Для отмены меры в XML запроса поле status (полный путь measuresTemporaryData.measuresTemporary.status) принимает значение false

Множественность блока measuresTemporary

Блок measuresTemporary может входить в XML более 1 раза, т.к. у ФОИВ МВД есть 2 временные меры, уходящие пакетом в одном XML сообщении

Временная мера

ФОИВ

Ограничение на пользование гражданином правом на управление транспортными средствамиМВД
Запрет на государственную регистрацию транспортных средствМВД

Блок может ходить 1 раз в случае уведомления о введении меры запрета на выезд

Пример сообщения рассылки в формате XML

request_example Развернуть исходный код


Kafka

Consumer

  • mz.in.request
  • mz.out.response 
  • smev.status.handler

Producer

S3

Сервис имеет доступ к корзине mz-attachment с правами READ, WRITE


БД mz_ervu_restriction_info

В данной БД хранится информация о мерах, действующих и отменённых, по каждому из видов сведений (каждому ФОИВ)

Столбец

Дата тайп

NOT NULL

PK

Комментарий

Пример заполнения

idUUID++Идентификатор записи7492ff5e-9f0e-4d02-8e6d-a02b9e41a024
request_idUUID+
Идентификатор запроса36aaa4f6-0995-43da-8162-1c87e6f9952b
classvarchar(500)

Класс вида сведенийMeasuresTemporaryData@urn://rostelekom.ru/ERVU-DrivingRegistrationVehicleForbiddenTemporary/1.0.3
restriction_idUUID+
Идентификатор временной меры6ef19960-8bca-408d-a420-35b972871570
restriction_statusboolean

Статус временной мерыtrue
request_stamptimestamp+
Дата и время отправки запроса2024-07-12 21:52:26.562
received_smev_statusvarchar(200)

Полученный статус от СМЭВ

Сервис mz-mnsv-ervu-driving-registration-vehicle является владельцем данной таблицы (у него прописаны скрипты миграции на создание), однако пользуются этой таблицей все сервисы, отвечающие за временные меры

Проверка XML на валидность

В сервисе реализована проверка XML согласно XSD-схеме вида сведений. Флаг, отвечающий за функционал, лежит в конфиге сервиса по пути extra_options.validator.xml.enabled с значением true

validator config Развернуть исходный код


В такой реализации некорректный JSON, поступающий из процессов и преобразованный в XML, проверяется внутри сервиса на валидность по схеме вида сведений. Схема расположена по пути /src/main/resources в папке с версией ВС

На текущий момент путь до XSD-схемы /src/main/resources/1_0_3/schema/schema.xsd

Если JSON некорректен, в логах сервиса будет ошибка


Написать комментарий...